/*-*
 * FILENAME  :
 *    $HeadURL$
 *
 * STATUS  :
 *    $Revision$
 *
 *    $Author$
 *    $Date$
 *  
 *    
 * Copyright (c) 2011 Gonalge Ltda. All rights reserved.
 *
 ****************************************************************/

package org.gonalge.arbolrojonegro.presentacion;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;

import java.awt.Font;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import org.gonalge.arbolrojonegro.negocio.ArchivoConcepto;
import org.gonalge.arbolrojonegro.util.FormUtils;

/**
 * 
 * @author Geremias Gonzalez
 */
public class FormConcepto extends JFrame {
    /**
     * 
     */
    private static final long serialVersionUID = -5400643826507988624L;

    private final ArchivoConcepto archivo = new ArchivoConcepto();

    private final JLabel imagen = new JLabel();

    private final JButton siguiente = new JButton();

    private final JButton atraz = new JButton();

    private final JTextArea texto = new JTextArea();

    private final JLabel titulo = new JLabel();

    private final JButton salir = new JButton();

    public FormConcepto() {
        try {
            jbInit();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
        archivo.cargarConceptos();

        this.setTitle("Tutor Arbol Rojo y Negro");
        this.getContentPane().setLayout(null);
        this.getContentPane().setBackground(FormUtils.getColorFondo());
        this.setBounds(FormUtils.crearRectangle(this));

        texto.setFont(new Font("Tahoma", 1, 14));
        texto.setBounds(new Rectangle(50, 140, 880, 250));
        texto.setSelectionColor(FormUtils.getColorFondo());
        texto.setBackground(FormUtils.getColorFondo());
        texto.setEditable(false);

        loadImagen();
        titulo.setIcon(FormUtils.getImageIcon(getClass(), "conceptos"));
        titulo.setBounds(150, 20, titulo.getIcon().getIconWidth(), titulo.getIcon().getIconHeight());

        FormUtils.updateButton(getClass(), siguiente, "siguiente1", "siguiente2", 780, 670);
        siguiente.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                siguiente_actionPerformed(e);
            }
        });

        FormUtils.updateButton(getClass(), atraz, "atraz1", "atraz2", 710, 670);
        atraz.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                atraz_actionPerformed(e);
            }
        });

        FormUtils.updateButton(getClass(), salir, "salir1", "salir2", 890, 630);
        salir.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                setVisible(false);
            }
        });

        this.getContentPane().add(salir);
        this.getContentPane().add(siguiente, null);
        this.getContentPane().add(atraz, null);
        this.getContentPane().add(titulo, null);
        this.getContentPane().add(texto, null);
        this.getContentPane().add(imagen);
    }

    private void siguiente_actionPerformed(ActionEvent e) {
        archivo.siguiente();
        loadImagen();
    }

    private void atraz_actionPerformed(ActionEvent e) {
        archivo.atras();
        loadImagen();
    }

    private void loadImagen() {
        texto.setText(archivo.getConsultar());
        imagen.setIcon(FormUtils.getImageIcon(getClass(), "imagenConcepto" + (archivo.getPos() + 1)));
        imagen.setBounds(140, 390, imagen.getIcon().getIconWidth(), imagen.getIcon().getIconHeight());

        atraz.setEnabled(archivo.hayAtras());
        siguiente.setEnabled(archivo.haySiguiente());
    }

}
